package java_0303_heap;

import java_1_24.stack_queue.queue.Queue;

/**
 * 基于最大堆的优先级队列
 * 值越大，优先级越高:队首元素就是优先级最大的元素（值最大的元素）
 */
public class PriorityQueue implements Queue<Integer> {//实现一个Queue接口【自己写的queue接口】
    private MaxHeap heap;
    public PriorityQueue(){
        heap=new MaxHeap();
    }
    @Override
    public void offer(Integer val) {//入队操作-调用heap的add操作
        heap.add(val);
    }

    @Override
    public Integer poll() {
        return heap.extractMax();
    }

    @Override
    public Integer peek() {
        return heap.peekMax();
    }

    @Override
    public boolean isEmpty() {
        return false;
    }
}
